4-Bar Generalisations

Either drag the blue point to move the mechanism or give the "Speed" slider (if visible) a non-zero value.  Note that you may need to Right-click on the blue point and select "Animation on" to reset it if it does not respond to the "Speed" slider at first.

a

c

d

b

$ a + b < c +d$

$ a + b = c + d $

$ a + b > c + d $

$ a + d < c + b $

$ a + d = c + b $

$ a + d > c + b $

Condition 1

Condition 2

F = Point(n)
a = 2.8 (slider from 0 to 20, step 0.1)
A = Intersect(xAxis, yAxis)
L: (x(A) - 1, -1)
K: (x(A) + a + 1, -1)
e = Circle(A, a)
B = Point(e)
T_2: (4, y(B))
U: (x(T_2), 0)
S: (5.5, y(B))
R: (x(S), 0)
b = 10.8 (slider from 0 to 20, step 0.1)
c = 4.4 (slider from 0 to 20, step 0.1)
d = 12.2 (slider from 0 to 20, step 0.1)
f = Segment(A, B)
g = Circle(A, d)
h = Circle(B, b)
C = Point(g)
k = Circle(C, c)
i = Segment(A, C)
Speed = 0 (slider from -10 to 10, step 0.1)
E = Intersect(h, k, 1)
j = Segment(B, E)
l = Segment(E, C)
m = OrthogonalLine(C, l)
G = (-320.70564029971524, -95.64314769844736)
H_2 = (419.36358585749997, -95.64314769844736)
M: (x(A) - 1, 0)
J: (x(A) + a + 1, 0)
poly2, q, r, s, t = Polygon(J, K, L, M)
N = Intersect(j, l)
O = Intersect(i, l)
P = Intersect(j, f)
Q = Intersect(i, f)
D: (x(F) - 1, 0)
I: (x(D), -1)
V: (x(F), -1)
W: (x(D), b + 1)
Z: (x(F), b + 1)
poly1, w, z, v, i_1 = Polygon(W, Z, V, I)
A_1: (x(F), b)
p = Circle(F, a)
B_1 = Point(p)
f_1 = Circle(A_1, c)
g_1 = Circle(B_1, d)
C_1 = Intersect(f_1, g_1, 1)
h_1 = Segment(A_1, C_1)
j_1 = Segment(C_1, B_1)
k_1 = Segment(B_1, F)
l_1 = Segment(F, A_1)
D_1 = Intersect(k_1, j_1)
E_1 = Intersect(k_1, z)
F_1 = Intersect(h_1, z)
G_1 = Intersect(h_1, j_1)
H = Point(n)
c_1 = Circle(H, c)
H_1 = Point(c_1)
I_1: (x(H) - 1, 0)
J_1: (x(H) - 1, 1)
K_1: (x(H) + c + 1, 1)
L_1: (x(H) + c + 1, 0)
poly3, i_2, j_2, k_2, l_2 = Polygon(I_1, J_1, K_1, L_1)
d_1 = Circle(H, b)
e_1 = Circle(H_1, d)
n_1 = Segment(H, H_1)
O_1 = Point(d_1)
P_1 = Point(d_1)
q_1 = CircleArc(H, O_1, P_1)
W_1 = Point(q_1)
p_1 = Circle(W_1, a)
M_1 = Intersect(e_1, p_1, 1)
a_1 = Segment(W_1, H)
b_1 = Segment(W_1, M_1)
m_1 = Segment(M_1, H_1)
N_1 = Intersect(a_1, b_1)
Q_1 = Intersect(b_1, m_1)
R_1 = Intersect(m_1, n_1)
S_1 = Intersect(n_1, a_1)
T = Point(n)
T_1: (x(T), -1)
U_1: (x(T), d + 1)
V_1: (x(T) + 1, d + 1)
Z_1: (x(T) + 1, -1)
poly4, t_1, u_1, v_1, z_1 = Polygon(T_1, U_1, V_1, Z_1)
A_2: (x(T), d)
r_1 = Segment(A_2, T)
s_1 = Circle(T, a)
c_2 = Circle(A_2, c)
B_2 = Point(s_1)
a_2 = Segment(T, B_2)
d_2 = Circle(B_2, b)
D_2 = Intersect(c_2, d_2, 2)
b_2 = Segment(A_2, D_2)
e_2 = Segment(D_2, B_2)
C_2 = Intersect(e_2, b_2)
E_2 = Intersect(b_2, r_1)
F_2 = Intersect(r_1, a_2)
G_2 = Intersect(a_2, e_2)
I_2 = Intersect(a_2, e_2)
Condition1_{rhs}: c + d
Condition1_{lhs}: a + b
Condition2_{lhs}: a + d
Condition2_{rhs}: c + b
o = true
u = true